import AMapLoader from '@amap/amap-jsapi-loader';
let map: any;
let Amap2: any;

const aMap = {
  // 初始化地图
  init(center: number[], id: string) {
    return new Promise((resolve) => {
      // 要写在组件加载完成以后
      AMapLoader.load({
        key: '6b74f591f4d0121f7152c2c1f29e4781', // 申请好的Web端开发者Key，首次调用 load 时必填
        version: '2.0', // 指定要加载的 JSAPI 的版本，缺省时默认为 1.4.15
        plugins: [], // 需要使用的的插件列表，如比例尺'AMap.Scale'等
      })
        .then((AMap) => {
          Amap2 = AMap;
          // 传入元素的类名得到地图实例
          map = new AMap.Map(id, {
            zoom: 16, //级别
            center: center, //中心点坐标
            // viewMode: '3D', //使用3D视图
            // mapStyle: 'amap://styles/dark', //设置地图的显示样式
          });
          resolve(1);
        })
        .catch((e) => {
          console.log(e);
        });
    });
  },
  // 点标记
  marker(position: number[]) {
    const marker = new Amap2.Marker({
      position,
    });
    map.add(marker);
  },
  scalse() {
    Amap2.plugin('AMap.Scale', function () {
      //异步加载插件
      const scale = new Amap2.Scale();
      map.addControl(scale);
    });
  },
};

export default aMap;
